﻿/*
 				________________________________COPYRIGHT_______________________________________
				Die Veröffentlichung dieses Objektes ist Illegal und wird strafrechtlich verfolgt
				werden. Sollte es zu einer Veröffentlichung kommen werden wir die Daten des
				Herrausgebers fündig machen und Anzeige erstatten. Desweiteren ist
				auch jeglicher Besitz dieses Objektes Illegal und kann ebenfalls als Grund für
				eine Anzeige verwendet werden.
				Ausnahmen der veröffentlichung und verleihung gelten nur wenn der Grundbesitzer
				diese durchführt.
				Die Uhrheberrechte dieses Objektes liegen der Entwickler Gruppe CyberScripting vor. 
                © 2011.
 */

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Microsoft.Xna.Framework;
using Microsoft.Xna.Framework.Graphics;

namespace cubeworld.GUI
{
    class Inventar
    {
        Texture2D itemBar;
        Vector2 pos;

        Texture2D mars;

        InventarObjects[] items = new InventarObjects[10];

        Rectangle[] r = new Rectangle[10];
        Texture2D[] tex = new Texture2D[5];

        public Inventar()
        {
            itemBar = Data.content.Load<Texture2D>("GUI\\items");
            pos = new Vector2(((MainGame.Device.Viewport.Width / 2) - (itemBar.Width / 2)), MainGame.Device.Viewport.Height - itemBar.Height);
            mars = Data.content.Load<Texture2D>("BlockTextures\\mars");

            for(int i = 0; i < 10; i++)
            {
                r[i] = new Rectangle(218+(i*5)+(i*32), 448, 32, 32);
            }

            items[0].ID = (int)BlockType.air;
            items[1].ID = (int)BlockType.lavaStone;
            items[2].ID = (int)BlockType.marsStone;

            tex[0] = new Texture2D(MainGame.Device, 10, 10);
            Color[] c = new Color[100];
            for (int i = 0; i < 100; i++)
            {
                c[i] = Color.Transparent;
            }
            tex[0].SetData(c);

            tex[1] = Data.content.Load<Texture2D>("BlockTextures\\mars");
            tex[2] = Data.content.Load<Texture2D>("BlockTextures\\stone");
            tex[3] = Data.content.Load<Texture2D>("BlockTextures\\lava");
            tex[4] = Data.content.Load<Texture2D>("BlockTextures\\schwefel");

        }



        public void Draw()
        {
            Data.spriteBatch.Draw(itemBar, pos, Color.White);
            RenderTest();
        }

        private Vector2 getStringPos(Rectangle r)
        {
            return new Vector2(r.X + 15, r.Y);
        }

        public void AddItems(int id)
        {
            bool done = false;
            for (int i = 0; i < 10; i++)
            {
                if (items[i].ID == id)
                {
                    if (items[i].count < 64)
                    {
                        items[i].count++;
                        done = true;
                    }
                }
            }

            if (!done)
            {
                for (int i = 0; i < 10; i++)
                {
                    if (items[i].ID == 0)
                    {
                        items[i].ID = id;
                        items[i].count++;
                        done = true;
                    }
                }
            }
        }

        public void RenderTest()
        {
            for (int i = 0; i < 10; i++)
            {
                Data.spriteBatch.Draw(tex[items[i].ID], r[i], Color.White);
            }
        }

    }

    struct InventarObjects
    {
        public int count;
        public int ID;
        //wie speichern wir welcher itemtyp es ist?
    };
}
